Computing resource providers often host computing resources, such as servers, data storage devices, networking devices, and the like, as a service to their customers. Customers can operate some of their computing infrastructure using hardware of the computing resource providers, thereby reducing the amount of upfront investment needed for the infrastructure and often resulting in an overall lower cost to the customer. Customers often are able to configure and reconfigure their infrastructure remotely and programmatically in order to best suit their needs.
In many cases, customers transmit requests to create instances such as, for example, virtual machine instances to execute on hardware devices. Typically, the instances are created with an unbounded lifetime where the instances execute operate for an indefinite time, until some event, such as a system crash or a programmatic reconfiguration causes the instances to terminate. In this way, the amount of time a hardware device is needed to implement a instance can be unpredictable. In addition, single hardware devices are often used to implement multiple system instances. Provisioning the computing system instances and providing maintenance on the computer systems, therefore, presents numerous challenges for effective management of hardware fleets.